package com.frontop.system.modules.attendance.workover.model;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 考勤-加班记录表
 * </p>
 *
 * @author YangJia
 * @since 2022-01-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="AttendanceWorkOver对象", description="考勤-加班记录表")
public class AttendanceWorkOver implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "用户名")
    private String userName;

    @DateTimeFormat(pattern="yyyy-MM-dd")//set
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")//get
    @ApiModelProperty(value = "日期")
    private Date workDate;

    @DateTimeFormat(pattern="HH:mm")//set
    @JsonFormat(pattern="HH:mm",timezone="GMT+8")//get
    @ApiModelProperty(value = "上班时间")
    private Date comeWorkTime;

    @DateTimeFormat(pattern="HH:mm")//set
    @JsonFormat(pattern="HH:mm",timezone="GMT+8")//get
    @ApiModelProperty(value = "下班时间")
    private Date goWorkTime;


    @ApiModelProperty(value = "迟到分钟")
    private Integer late;

    @ApiModelProperty(value = "是否是次日下班 1 是 0不是")
    private Integer isNextDay;


    @ApiModelProperty(value = "工时 小时")
    private Double workingHours;


    @ApiModelProperty(value = "是否外出")
    private Integer isGoOut;

    @ApiModelProperty(value = "是否是工作日")
    private Integer isWeekdays;

    @ApiModelProperty(value = "状态：0 已用，1可用，-1过期")
    private Integer status;


    @TableField(exist = false)
    private Double number;

    @TableField(exist = false)
    @ApiModelProperty(value = "上班时间")
    private String comeWorkTimeText;


    @TableField(exist = false)
    @ApiModelProperty(value = "下班时间")
    private String goWorkTimeText;


    @TableField(exist = false)
    @ApiModelProperty(value = "调休截止日期")
    private String maxTime;



}
